maillib package — Dowell-Mail 1.0 documentation

Skip to content

# maillib package

## Subpackages

- maillib.migrations package
  - Module contents
- maillib.tests package
  - Submodules
  - maillib.tests.test_urls module
    - `TestUrls`
      - `TestUrls.test_home_url_resolved()`
  - maillib.tests.test_views module
    - `TestViews`
      - `TestViews.setUp()`
      - `TestViews.test_email_validate()`
      - `TestViews.test_send_email()`
      - `TestViews.test_should_show_home_page()`
      - `TestViews.test_valid_email()`
  - Module contents

## Submodules

## maillib.admin module

## maillib.apps module

class maillib.apps.MaillibConfig(app_name, app_module)

  Bases: `AppConfig`

  default_auto_field = 'django.db.models.BigAutoField'
  name = 'maillib'

## maillib.models module

## maillib.urls module

This module defines the URL patterns for the maillib app.

The urlpatterns list maps URLs to the home view functions. There is one URL pattern call to the path() function, which takes three arguments: the URL pattern, the view function that should handle the URL, and an optional name for the URL pattern.

urlpatterns = [

  path(‘’, views.home, name=’home’),

]

This maps the ‘’ (root) URL to the views.home function, and names the URL pattern ‘home’. The name can be used in templates to create links to this URL.

Returns:

  list: A list of URL patterns that map to view functions.

## maillib.views module

This module contains view functions for the maillib package.

Functions:
  -home(request): Accepts input from the maillib/home.html template form

    and checks the validity of the receiver email address. If the email address is valid, the email is sent to the recepient and a status message is shown to the sender. If the email address is invalid, the email is not sent, and the error message is shown to the user.

Constants:

  -API_KEY: This is stored as an environment variable for security -VALIDATE_URL: This is the endpoint called to validate the email address -SEND_MAIL_URL: Upon successful validation, this is the endpoint called to send the email to the specified email address.

maillib.views.home(request)

  Renders the home page and handles the submission of the email form form templates/home.html.

  If the HTTP request method is POST, this function extracts the form data from the request object and sends it to a validation API. If the validation API returns a success response, the email sending API is called with the form data. If the email sending API returns a success response, a success message is added to the messages framework. Otherwise, an error message is added. The message is then displayed back to the user in the home.html.

  Args:

    request (HttpRequest): The HTTP request object.

  Variables:

    API_KEY(str): A string containig the api key stored in the .env file VALIDATE_URL(str): a string containing the validation url endpoint SEND_MAIL_URL(str): a string containing the send email url endpoint

  Returns:

    HttpResponse: A rendered HTML template for the home page with any messages from form submission.

## Module contents